const path = require('path');
module.exports = {
    transpileDependencies: true,
    lintOnSave: false,
    devServer: {
        // 主机地址，默认值为localhost/127.0.0.1
        // host: 'localhost',
        // 端口配置
        port: 80,
        // 反向代理配置
        proxy: {
            // 代理的key值：当配置了代理，接收到请求地址后，会从代理的key值开始匹配
            // 匹配成功后再从pathRewrite里的键开始匹配，如果匹配成功则访问target + 对应的值
            // 如果遍历完了pathRewrite的键还是没有匹配成功，则匹配下一个代理
            '/api': {
                // target就是我们想要跨域调用的主机地址+端口
                target: 'http://127.0.0.1:1888',
                ws: true, // ------------------------- 代理 websockets
                pathRewrite: { //  ------------------- 重写
                    // '^/api': '/' 就相当于host + port + '/api' 被 target+ '/' 替换掉
                    // 当请求地址为host + port + '/api'时, 就会被proxy中的target代替
                    // 比如我们想要跨域调用http://127.0.0.1:1888/books/
                    // 那么请求地址就应该是http://localhost:80/api/books
                    // 注意：字符串长的要放在上面，短的放到最底下，否则会匹配不到
                    '^/api': '/',
                }
            }
        }
    },
    configureWebpack: (config) => {
        // 开发生产共同配置别名
        Object.assign(config.resolve, {
            alias: {
                '@': path.resolve(__dirname, './src'),
                'assets': path.resolve(__dirname, './src/assets'),
                'common': path.resolve(__dirname, './src/common'),
                '@c': path.resolve(__dirname, './src/components'),
                'network': path.resolve(__dirname, './src/network'),
                'configs': path.resolve(__dirname, './src/configs'),
                'views': path.resolve(__dirname, './views'),
                'plugins': path.resolve(__dirname, './src/plugins'),
                'api': path.resolve(__dirname, './api'),
            }
        })
    }
}
